1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.google.common.base;
18
19 import com.google.common.annotations.GwtCompatible;
20
21 import java.lang.ref.WeakReference;
22
23
24
25
26
27
28 @GwtCompatible(emulated = true)
29 final class Platform {
30 private Platform() {}
31
32
33 static long systemNanoTime() {
34 return System.nanoTime();
35 }
36
37 static CharMatcher precomputeCharMatcher(CharMatcher matcher) {
38 return matcher.precomputedInternal();
39 }
40
41 static <T extends Enum<T>> Optional<T> getEnumIfPresent(Class<T> enumClass, String value) {
42 WeakReference<? extends Enum<?>> ref = Enums.getEnumConstants(enumClass).get(value);
43 return ref == null
44 ? Optional.<T>absent()
45 : Optional.of(enumClass.cast(ref.get()));
46 }
47 }